Systems and methods for personalized exercise protocols and tracking thereof

ABSTRACT

Systems and methods for providing a customized exercise protocol to a computing device of a user. As the user performs the exercise protocol, one or more cameras of the computing device can track the user&#39;s movements. The user&#39;s movement are assessed to determine if proper form and technique is being used.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Ser. No. 17/375,518, filed onJul. 14, 2021, which claims the benefit of U.S. Ser. No. 63/051,982filed on Jul. 15, 2020; U.S. Ser. No. 63/060,190 filed on Aug. 3, 2020;U.S. Ser. No. 63/162,121 filed on Mar. 17, 2021; and U.S. Ser. No.63/188,053 filed on May 13, 2021, the disclosure of each is incorporatedherein by reference.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

This invention was made with government support under contractFA8649-19-9-9904 awarded by the United States Air Force. The governmenthas certain rights in the invention.

BACKGROUND

Various individuals can require physical therapy to regain mobility andmaintain strength. Such individuals may be recovering from a surgicalprocedure, a stroke, a broken hip or limb or other debilitating diseaseor condition. The individual often has limited options with regard towhere and when they can receive their physical therapy. For instance,the individual may be required to travel to a rehabilitation center orother type of healthcare or fitness center, but this approach can beinconvenient for the individual. Alternatively, a physical therapist orother service provider can travel to the individual's home to provideat-home physical therapy sessions, but this approach has numerousdrawbacks as well.

Furthermore, aside from physical therapy, many individuals wish toperform physical exercises but may not want to travel to a trainingfacility or are physically remote from their trainer. Such individualsmay also not be able to structure their own exercise regimen or properlymonitor their technique and form as they perform the exercises.

BRIEF DESCRIPTION OF THE DRAWINGS

It is believed that certain embodiments will be better understood fromthe following description taken in conjunction with the accompanyingdrawings, in which like references indicate similar elements and inwhich:

FIG. 1 schematically depicts a fitness tracking computing systemfacilitating remote exercise sessions in accordance with onenon-limiting embodiment.

FIG. 2 schematically depicts an interface of an example computing devicein accordance with one non-limiting embodiment.

FIG. 3 schematically depicts an interface of an example computing devicein accordance with one non-limiting embodiment.

FIG. 4 schematically depicts an interface of an example computing devicein accordance with one non-limiting embodiment.

FIG. 5 schematically depicts the customization of movement compliancetolerance levels in accordance with one non-limiting embodiment.

FIG. 6 schematically depicts the customization of movement compliancetolerance levels in accordance with one non-limiting embodiment.

FIG. 7 schematically depicts an interface of an example computing devicein accordance with one non-limiting embodiment.

FIG. 8 schematically depicts an interface of an example computing devicein accordance with one non-limiting embodiment.

FIG. 9 schematically depicts an interface of an example computing devicein accordance with one non-limiting embodiment.

FIG. 10 schematically depicts an interface of an example computingdevice in accordance with one non-limiting embodiment.

FIG. 11 schematically depicts an interface of an example computingdevice in accordance with one non-limiting embodiment.

FIG. 12 schematically depicts the progression of an interface of anexample computing device in accordance with one non-limiting embodiment.

FIG. 13 schematically depicts the progression of an interface of anexample computing device in accordance with one non-limiting embodiment.

FIG. 14 schematically depicts an interface of an example computingdevice in accordance with one non-limiting embodiment.

FIG. 15 schematically depicts an interface of an example computingdevice in accordance with one non-limiting embodiment.

FIG. 16 schematically depicts a fitness tracking computing systemfacilitating remote exercise sessions based on detected operationalparameters of a remote computing device.

FIG. 17 schematically depicts a fitness tracking computing systemproviding remote exercise sessions to a plurality of different types ofremote computing devices.

FIG. 18 schematically depicts a fitness tracking computing systemgenerating a movement profile over time.

FIG. 19 depicts an example interface on a user computing device duringan example exercise session.

FIG. 20 depicts an example interface on a user computing device duringan example exercise session.

FIG. 21 depicts an example interface on a user computing device duringan example exercise session.

FIG. 22 depicts an example interface on a user computing device duringan example exercise session.

FIG. 23 depicts an example interface on a user computing device duringan example exercise session.

FIG. 24 depicts an example interface on a user computing device duringan example exercise session.

FIG. 25 depicts an example interface on a user computing device duringan example exercise session.

FIG. 26 depicts an example interface on a user computing device duringan example exercise session.

FIG. 27 depicts an example interface on a user computing device duringan example exercise session.

FIG. 28 depicts an example interface on a user computing device duringan example exercise session.

FIG. 29 depicts an example interface on a user computing device duringan example exercise session.

FIG. 30 depicts an example interface on a user computing device duringan example exercise session.

FIG. 31 depicts an example interface on a user computing device duringan example exercise session.

FIG. 32 depicts an example interface on a user computing device duringan example exercise session.

FIG. 33 depicts an example interface on a user computing device duringan example exercise session.

FIG. 34 depicts an example interface on a user computing device duringan example exercise session.

FIG. 35 depicts an example interface on a user computing device duringan example exercise session.

FIG. 36 depicts an example interface on a user computing device duringan example exercise session.

FIG. 37 depicts an example interface on a user computing device duringan example exercise session.

FIG. 38 depicts an example interface on a user computing device duringan example exercise session.

FIG. 39 depicts an example interface on a user computing device duringan example exercise session.

FIG. 40 depicts an example interface on a user computing device duringan example exercise session.

DETAILED DESCRIPTION

Various non-limiting embodiments of the present disclosure will now bedescribed to provide an overall understanding of the principles of thestructure, function, and use of systems, apparatuses, devices, andmethods disclosed. One or more examples of these non-limitingembodiments are illustrated in the selected examples disclosed anddescribed in detail with reference made to FIGS. 1-40 in theaccompanying drawings. Those of ordinary skill in the art willunderstand that systems, apparatuses, devices, and methods specificallydescribed herein and illustrated in the accompanying drawings arenon-limiting embodiments. The features illustrated or described inconnection with one non-limiting embodiment may be combined with thefeatures of other non-limiting embodiments. Such modifications andvariations are intended to be included within the scope of the presentdisclosure.

The systems, apparatuses, devices, and methods disclosed herein aredescribed in detail by way of examples and with reference to thefigures. The examples discussed herein are examples only and areprovided to assist in the explanation of the apparatuses, devices,systems and methods described herein. None of the features or componentsshown in the drawings or discussed below should be taken as mandatoryfor any specific implementation of any of these the apparatuses,devices, systems or methods unless specifically designated as mandatory.For ease of reading and clarity, certain components, modules, or methodsmay be described solely in connection with a specific figure. In thisdisclosure, any identification of specific techniques, arrangements,etc. are either related to a specific example presented or are merely ageneral description of such a technique, arrangement, etc.Identifications of specific details or examples are not intended to be,and should not be, construed as mandatory or limiting unlessspecifically designated as such. Any failure to specifically describe acombination or sub-combination of components should not be understood asan indication that any combination or sub-combination is not possible.It will be appreciated that modifications to disclosed and describedexamples, arrangements, configurations, components, elements,apparatuses, devices, systems, methods, etc. can be made and may bedesired for a specific application. Also, for any methods described,regardless of whether the method is described in conjunction with a flowdiagram, it should be understood that unless otherwise specified orrequired by context, any explicit or implicit ordering of stepsperformed in the execution of a method does not imply that those stepsmust be performed in the order presented but instead may be performed ina different order or in parallel.

Reference throughout the specification to “various embodiments,” “someembodiments,” “one embodiment,” “some example embodiments,” “one exampleembodiment,” or “an embodiment” means that a particular feature,structure, or characteristic described in connection with any embodimentis included in at least one embodiment. Thus, appearances of the phrases“in various embodiments,” “in some embodiments,” “in one embodiment,”“some example embodiments,” “one example embodiment, or “in anembodiment” in places throughout the specification are not necessarilyall referring to the same embodiment. Furthermore, the particularfeatures, structures or characteristics may be combined in any suitablemanner in one or more embodiments.

Throughout this disclosure, references to components or modulesgenerally refer to items that logically can be grouped together toperform a function or group of related functions. Like referencenumerals are generally intended to refer to the same or similarcomponents. Components and modules can be implemented in software,hardware, or a combination of software and hardware. The term “software”is used expansively to include not only executable code, for examplemachine-executable or machine-interpretable instructions, but also datastructures, data stores and computing instructions stored in anysuitable electronic format, including firmware, and embedded software.The terms “information” and “data” are used expansively and includes awide variety of electronic information, including executable code;content such as text, video data, and audio data, among others; andvarious codes or flags. The terms “information,” “data,” and “content”are sometimes used interchangeably when permitted by context. It shouldbe noted that although for clarity and to aid in understanding someexamples discussed herein might describe specific features or functionsas part of a specific component or module, or as occurring at a specificlayer of a computing device (for example, a hardware layer, operatingsystem layer, or application layer), those features or functions may beimplemented as part of a different component or module or operated at adifferent layer of a communication protocol stack. Those of ordinaryskill in the art will recognize that the systems, apparatuses, devices,and methods described herein can be applied to, or easily modified foruse with, other types of equipment, can use other arrangements ofcomputing systems, and can use other protocols, or operate at otherlayers in communication protocol stacks, than are described.

The systems, apparatuses, devices, and methods disclosed hereingenerally relate to providing a customized exercise protocol to acomputing device of a user. As the user performs the exercise protocol,one or more cameras of the computing device can track the user'smovements. Machine vision technology, or any other suitable imageprocessing technique, can be used to assess the user's movement todetermine if proper form and technique is being used. In someembodiments, machine vision algorithms that identify and track jointlocations of the user are utilized, although this disclosure is not solimited. Further, based on the movement tracking, it can be validatedthat the user performed the exercise protocol and such validation can beprovided to a healthcare professional, trainer, physical therapist,rehabilitation specialist, or other practitioner, for example. As such,in accordance with the present disclosure, customized, user-specificexercise protocols can be delivered to individual users through any of avariety of different types of suitable networked computing devices.Example devices can include, without limitation, mobile phones, tabletcomputers, laptop computers, desktop computers, gaming devices, or anyother device with a network connection and conventionally have one ormore onboard cameras.

Beneficially, various embodiments of the systems and methods describedherein can leverage the existing onboard camera of the user computingdevice, thereby avoiding the need for the user to install or otherwiseutilize specialized camera systems or other specialized body trackingdevices. As provided in more detail below, as users can interact withthe system using a variety of different types of computing devices, suchdevices can have various screen sizes and be able to capture variouslevels of user data using onboard camera(s). The systems and methodsdescribed herein, however, can automatically detect operationalparameters of the user computing devices through network communicationswith the user computing device and automatically and responsively makeadjustments to the video processing technology on a per device basis.

Furthermore, it is to be appreciated that the systems and methodsdescribed herein can be used to provide customized fitness, physicaltherapy, work-outs, training sessions, or other wellness orexercise-related protocols to any type of user via any suitable device,with the user's compliance with the protocols being monitored via theimage processing techniques described herein. In some embodiments, theuser can additionally be instructed use various types of equipment, suchas a kettlebell, a resistance band, a dumbbell, a jump rope, a jump box,and so forth. Thus, as is to be appreciated upon consideration of thepresent disclosure, a user's movements can be optically tracked suchthat various performance metrics can be collected, such as a range ofmotion, a number of repetitions, a number of sets, duration ofrepetitions, duration of sets, duration of workout, length of stroke,muscle group used, type of exercise, and so forth. Additionally, datacan be collected from a wearable computing device worn by the user, suchas a heartrate monitor, or other type of wearable fitness trackingdevice.

Referring now to FIG. 1 , one example embodiment of the presentdisclosure can comprise a fitness tracking computing system 100. Thefitness tracking computing system 100 can be provided using any suitableprocessor-based device or system, such as a personal computer, laptop,server, mainframe, or a collection (e.g., network) of multiplecomputers, for example. The fitness tracking computing system 100 caninclude one or more processors 102 and one or more computer memory units104. For convenience, only one processor 102 and only one memory unit104 are shown in FIG. 1 . The processor 102 can execute softwareinstructions stored on the memory unit 104. The processor 102 can beimplemented as an integrated circuit (IC) having one or multiple cores.The memory unit 104 can include volatile and/or non-volatile memoryunits. Volatile memory units can include random access memory (RAM), forexample. Non-volatile memory units can include read only memory (ROM),for example, as well as mechanical non-volatile memory systems, such as,for example, a hard disk drive, an optical disk drive, etc. The RAMand/or ROM memory units can be implemented as discrete memory ICs, forexample.

The memory unit 104 can store executable software and data for thefitness tracking computing system 100. When the processor 102 of thefitness tracking computing system 100 executes the software, theprocessor 102 can be caused to perform the various operations of thefitness tracking computing system 100. Data used by the fitness trackingcomputing system 100 can be from various sources, such as a database(s)106, which can be an electronic computer database, for example. The datastored in the database(s) 106 can be stored in a non-volatile computermemory, such as a hard disk drive, a read only memory (e.g., a ROM IC),or other types of non-volatile memory. In some embodiments, one or moredatabases 106 can be stored on a remote electronic computer system, forexample. As is to be appreciated, a variety of other databases or othertypes of memory storage structures can be utilized or otherwiseassociated with the fitness tracking computing system 100.

The fitness tracking computing system 100 can also be in communicationwith a plurality of users 136A-N via their user computing devices 128A-Nthrough a communications network 112. The users 136A-N can be, forexample, individuals seeking physical therapy treatments, or any othertype of user seeking exercise instruction. Each of the users 136A-N canbe in a respective remote location 126A-N. The remote locations 126A-Ncan be, for example, their home, a fitness center, a rehabilitationcenter, a physical therapy center, and so forth. The fitness trackingcomputing system 100 can communicate with the various user computingdevices 128A-N via a number of computer and/or data networks, includingthe Internet, LANs, WANs, GPRS networks, etc., that can comprise wiredand/or wireless communication links.

The computing devices 128A-N can be any type of computer device suitablefor communication with the fitness tracking computing system 100 overthe communications network 112, such as a wearable computing device, amobile telephone, a tablet computer, a device that is a combinationhandheld computer and mobile telephone (sometimes referred to as a“smart phone”), a personal computer (such as a laptop computer, netbookcomputer, desktop computer, and so forth), or any other suitable mobilecommunications device, such as personal digital assistants (PDA), tabletdevices, gaming devices, or media players, for example.

The computing devices 128A-N can, in some embodiments, provide a varietyof applications for allowing the users 136A-N to accomplish one or morespecific tasks using the fitness tracking computing system 100.Applications can include, without limitation, a web browser application(e.g., INTERNET EXPLORER, MOZILLA, FIREFOX, SAFARI, OPERA, NETSCAPENAVIGATOR), telephone application (e.g., cellular, VoIP, PTT),networking application, messaging application (e.g., e-mail, IM, SMS,MMS), social media applications, and so forth. The computing devices128A-N can comprise various software programs such as system programsand applications to provide computing capabilities in accordance withthe described embodiments. System programs can include, withoutlimitation, an operating system (OS), device drivers, programming tools,utility programs, software libraries, application programming interfaces(APIs), and so forth. Exemplary operating systems can include, forexample, a PALM OS, MICROSOFT OS, APPLE OS, ANDROID OS, UNIX OS, LINUXOS, SYMBIAN OS, EMBEDIX OS, Binary Run-time Environment for Wireless(BREW) OS, JavaOS, a Wireless Application Protocol (WAP) OS, and others.

The computing devices 128A-N can include various components forinteracting with the fitness tracking computing system 100. Thecomputing devices 128A-N can include components for use with one or moreapplications such as a stylus, a touch-sensitive screen, keys (e.g.,input keys, preset and programmable hot keys), buttons (e.g., actionbuttons, a multidirectional navigation button, preset and programmableshortcut buttons), switches, a microphone, speakers, an audio headset,and so forth. The computing devices 128A-N can also each have a camera130. The camera 130 can either be a single camera, or a collection ofcameras, which have a field of view 132. In some embodiments, one ormore of the computing devices 128A-N can also include a range findingdevice or other optical-related componentry that can be leveraged formovement tracking in accordance with the present disclosure.Additionally, the computing devices 128A-N can have a graphical display134 to present information from the fitness tracking computing system100. Such information can include, without limitation, movementinstructions and real-time movement feedback. In accordance with variousembodiments, the camera 130 and/or other onboard optical-relatedcomponentry can be standard equipment installed into the computingdevices at time of manufacture. As such, a user does not necessarilyhave to install an additional camera or other hardware devices, or useother specialize hardware in order utilize the functionality of thefitness tracking computing system 100. Instead, the fitness trackingcomputing system 100 functions to responsively adapt to the type ofcomputing device 128A-N that each user 136A-Nis using to connect to thesystem.

The users 136A-N can interact with the fitness tracking computing system100 via a variety of other electronic communications techniques, suchas, without limitation, HTTP requests, in-app messaging, and shortmessage service (SMS) messages, video messaging, video chatting, and thelike. The electronic communications can be generated by a specializedapplication executed on the computing devices 128A-N or can be generatedusing one or more applications that are generally standard to the usercomputing device 128A-N, such as a web browser. The applications caninclude, or be implemented as, executable computer program instructionsstored on computer-readable storage media such as volatile ornon-volatile memory capable of being retrieved and executed by aprocessor to provide operations for the computing devices 128A-N.

As shown in FIG. 1 , the fitness tracking computing system 100 caninclude several computer servers and databases. For example, the fitnesstracking computing system 100 can include one or more applicationservers 108, web servers 110, and/or any other type of servers. Forconvenience, only one application server 108 and one web server 110 areshown in FIG. 1 , although it should be recognized that the disclosureis not so limited. The servers can cause content to be sent to thecomputing devices 128A-N in any number of formats, such as text-basedmessages, multimedia messages, email messages, smart phonenotifications, web pages, and so forth. The servers 108 and 110 cancomprise processors (e.g., CPUs), memory units (e.g., RAM, ROM),non-volatile storage systems (e.g., hard disk drive systems), etc. Theservers 108 and 110 can utilize operating systems, such as Solaris,Linux, or Windows Server operating systems, for example.

The web server 110 can provide a graphical web user interface throughwhich various users of the system can interact with the fitness trackingcomputing system 100. The web server 110 can accept requests, such asHTTP requests, from clients (such as via web browsers on the computingdevices 128A-N), and serve the clients responses, such as HTTPresponses, along with optional data content, such as web pages (e.g.,HTML documents) and linked objects (such as images, video, and soforth).

The application server 108 can provide a user interface for users who donot communicate with the fitness tracking computing system 100 using aweb browser. Such users can have special software installed on theircomputing devices 128A-N that allows them to communicate with theapplication server 108 via the network. Such software can be downloaded,for example, from the fitness tracking computing system 100, or othersoftware application provider, over the network to such computingdevices 128A-N.

A practitioner 114 is shown interacting with the fitness trackingcomputing system 100 via a computing device 116. The practitioner 114can be a physical therapist, rehabilitative specialist, athletictrainer, or any other type of user that wishes to define and structurecustomized exercise protocols for one or more of the users 136A-N. Thepractitioner 114 can define personalized user-specific exerciseprotocols 118 for each of the users 136A-N. The exercise protocols 118can be selected from a protocol library 119 and/or based on customizedprotocols 121. The protocol library 119 can include a listing of, forexample, preset exercises and the practitioner 114 can select one ormore of the preset exercises for inclusion in a particular user'sexercise protocol. Additionally or alternatively, through the use ofcustomized protocols 121 the practitioner 114 can provide thedefinitions for a particular protocol. By way of example, thepractitioner 114 specify the exact relationships between joints (angles,distance, and alignment) and set a tolerance level for each, orotherwise structure or otherwise create a newly defined protocol. Suchcustomized protocols 121 can define, for example, movementqualifications for completing the protocol on a per user basis. In anyevent, each of the personalized exercise protocols 118 can define, forexample, types of exercises, number of repetitions, movementinstructions, and so forth.

When the users 136A-N access the fitness tracking computing system 100via their respective computing devices 128A-N, their customized exerciseprotocol 120A-N can be provided via the display 134. In accordance withvarious embodiments, one or more of the customized exercise protocol120A-N can automatically evolve, adapt, or otherwise respond to themovement data collected from user performing the protocol. By way ofexample, upon detecting that a particular user 136A-N is having troublecompleting the range of motion for a particular exercise, theircustomized exercise protocol can automatically be adjusted to providethem with an updated protocol that specifically addresses the detecteddeficiency. Upon successful completion of the updated protocol, the usercan then again be presented with the original protocol. Theirperformance can again be monitored and a determination can be made as towhether additional updated protocol(s) should be provided to thatparticular user. Such monitoring, adjustments, and updating can happenin real-time, in an automated fashion. Additionally, on a global scale,the fitness tracking computing system 100 can track the success ofvarious updated protocols in addressing user deficiencies, and based onthat track, recommend specific updated protocols for specific usersbased on, for example, type of deficiency, user demographic,rehabilitation type, and so forth.

With regard to accessing an exercise protocol, in some embodiments, auser 136A-N can be provided with a one-time use web address to access auser-specific exercise protocol. When the user 136A-N navigates to theweb address using a web browser on their computing device 129A-N, theycan be presented with their customized exercise protocol 120A-N.Accessing the one-time use web address (sometimes referred to as atemporary URL) can assist in providing integration of a user'scompletion of certain exercise protocol's into their medical records, orotherwise allow the user data to easily be provided to appropriateentities for tracking. While one-time use web addresses are one exampleway to provide customized exercise protocols 120A-N to users, thisdisclosure is not so limited. In other embodiments, for example, users136A-N can be provided with user accounts on the fitness trackingcomputing system 100. The users 136A-N can access their user accounts,such as via a web browser or a specialized application on theircomputing device 128A-N and access their customized exercise protocols120A-N. The protocol(s) presented to the users 136A-N can be speciallyselected and/or designed for that particular user. Thus, instead ofsimply accessing a predetermined routine, the user can access a protocolthat is customized for them. Further, in some embodiments, a user cannotnecessarily advance the next protocol until satisfactory completion ofthe preceding protocol, both from a quantitative and qualitativeperspective. In some embodiments, if it is determined that user ishaving trouble completing a particular protocol (i.e., due to range ofmotion issues), the fitness tracking computing system 100 canautomatically select different protocols that are designed to target theparticular areas in which the user needs to improve. In any event, oncetheir protocols are accessed, instructions for various exercises can beprovided to their computing device 129A-N. Such instructions can beprovided, for example, as graphics, pictures, videos, writteninstructions, or combinations thereof.

As described in more detail below, the users 136A-N can position theircomputing devices 128A-N such that the camera 130 of the devicescaptures their movements. Based on the real-time video feed collected bythe camera 130, real-time image processing motion tracking can beperformed. In some embodiments, for example, wireframes 138A-N of theusers 136A-N are generated based on the detected joint positions,although this disclosure is not so limited. Furthermore, the imageprocessing and analytics can be performed by the computing devices128A-N or the fitness tracking computing system 100. In someembodiments, some initial image processing can be performed locally bythe computing devices 128A-N, with the remainder of the image processingperformed by the fitness tracking computing system 100. In any event,movements of the users 136A-N can be tracked and compared to theinstructed movements such that a determination can be made as to whetherthe users 136A-N are completing the protocol as defined.

User reporting 122A-N can be provided to the fitness tracking computingsystem 100 that provides, for example, verification a protocol wassuccessfully performed. Additionally or alternatively, the reporting122A-N can include other performance related metrics, such as exerciseduration, range of motion data, and so forth. The reporting 123 can beprovided to the practitioner 114 (or any of a variety of otherrecipients) via their computing device 116. Such reporting 123 caninclude, for example, analytics, compliance reports, and/or otherinsights and can allow for the viewing of key metrics over time for eachuser 136A-N.

The user reporting 122A-N can provide information to the fitnesstracking computing system 100 which can be aggregated and analyzed atvarious levels, such as at a global level or a variety of other levelsbased on demographics, injury type, geography, and so forth. As such,the user reporting 122A-N can include a variety of information for eachuser 136A-N, such as geographic data, demographic data, compliance data,time/date data, movement data, and so forth. Using this data collectedover time and from a wide array of users 136A-N, the fitness trackingcomputing system 100 can, for example, digitally track kinematic changeof each user and compare such change across a plurality of other users.Such comparisons can be helpful in assessing, for example, a particularuser's rehabilitation for an injury as compared to their cohorts. Suchaggregated data can also be utilized, such as via machine learningprocesses, to accesses which exercises are the most effective over time.As is to be appreciated, a wide variety of other insights can be gleanedfrom the aggregated user reporting 122A-N.

While FIG. 1 shows the users 136A-N in separate remote locations 126A-N,it is to be appreciated that two or more of the user 136A-N can bephysically within the same location. Furthermore, the practitioner 114can also be physically present with one or more of the users 136A-N atthe location where the exercise protocol is being completed. In someembodiments, video conferencing or other types of real-timecommunication, is facilitated by the fitness tracking computing system100 between the practitioner 114 and the users 136A-N simultaneously theuser is completing the exercise protocols. Thus, machine vision can beused to verify the particular movement of a user 136A-N concurrentlywith the provisioning of a live video conference with the practitioner114.

FIGS. 2-4 schematically depict a simplified interface that can bepresented on a user's computing device by a fitness tracking computingsystem in accordance with various embodiments. The interface can beprovided, for example, through a web browser, a specialized application,or other suitable software exited by a computing device. Referring firstto FIG. 2 , a computing device 228 with a camera 230 and a display 234is shown. The camera 230 can be “built-in” the computing device 228, asopposed to a specialized motion-tracking camera, for example. Thedisplay 234 can provide a home screen that allows a user to accessvarious functionality, such as switch users, review previously completedexercise protocols, and so forth. In the illustrated example, the useris presented with a communication option 222 to contact a practitioner,such as via a video chat or a message. Additionally, in this exampleembodiment, a list of exercise protocols 220 are presented. As shown,the user has selected the first protocol in the list. Upon selection ofthe first protocol, the display 234 can present, for example, theexercise protocol 240, as schematically shown in FIG. 4 . The exerciseprotocol 240 can be presented in any suitable format. In the illustratedexample, personalized movement instructions 242 are present. Suchinstructions can be provided as graphics, photos, videos, writtendescriptions, or in any other suitable format.

In the illustrated example, a live view 250 is provided to the user sothat an image 252 of the user (FIG. 3 ), as collected by the camera 230,is presented on the display 234. It is to be appreciated, however, thatsome embodiments may not necessarily provide an image 252 of the user onthe display 234. The illustrated example also schematically displays awire frame 254 of the user, as can be generated through image processingtechniques. As provided above, the wire frame 254 can be utilized totrack the movements of the user as they perform their personalizedexercise treatment. While the wire frame 254 is shown graphicallypresented on the display 234 in FIG. 3 , this disclosure is not solimited.

In this embodiments, the user is also provided with real-time feedback256 via the display 234. Such real-time feedback 256 can include,without limitation, a repetition count, a timer, an exercise count, andso forth. Further, in some embodiments, the feedback 256 can includemovement adjustments to aid the user in performing the exerciseprotocol. By way of example, the real-time feedback 256 may instruct theuser to keep their back straight, bend their legs further, slow down,speed up, and so forth. In any event, such real-time feedback 256 can bebased on the real-time track of the movements of the user in comparisonto the personalized movement protocol they are performing.

FIG. 4 provides an example embodiment similar to FIGS. 2-3 . In thisembodiment, however, a live video chat window 260 can allow the user tohave real-time communications with a third party, such as a healthcareprovider, physical therapist, physical trainer, and so forth. In someembodiments, the third party can be viewing performance metrics of theuser in real-time during the video chat, as provided to them by afitness tracking computing system. As such, the third party can provideinstruction or guidance, based on the user's real-time movements.

As is to be appreciated, a wide range of users can utilize the systemsand methods described herein. As such, movements that are deemed tocomply with certain exercise protocols or other movement protocols mayvary based on the user. By way of example, a high performance athletemay need to perform certain movements with a high degree of precisionand accuracy before the system deems they have complied with theprotocol. An elderly user, however, may be permitted to perform themovements at a lower performance level, while still being deemed to havesuccessfully completed the particular movement. In accordance with thesystems and methods described herein, the healthcare professional orother user can define tolerance levels on a user-by-user basis and/or amovement-by-movement bases. Such tolerance customization isschematically shown in FIGS. 5-6 .

Referring to FIGS. 5-6 , a user 536 (FIG. 5 ) and has been instructed tolift their arm 522 in the direction indicated by arrow 520 until theirarm 522 is perpendicular to the ground, and a user 636 (FIG. 6 ) hasalso been instructed to lift their arm 622 in the direction indicated byarrow 620 until their arm 622 is perpendicular to the ground. Atolerance window 560 is schematically shown in FIG. 5 and a tightertolerance window 660 is schematically shown in FIG. 6 . As such, theuser 636 is being held to a higher performance standard.

The user 536 first raises their arm 522A to a position that is beneaththe tolerance window 560. As such, that movement does not count towardcompleting their movement protocol. Once user 536 raises their arm 522Bto within the tolerance window 560, the movement is counted assuccessfully completing the movement.

Looking now at the user 636 in FIG. 6 , their arm 622A is first raisedto a position that is beneath the tolerance window 660, yet is above themovement performed by the user 536. Nevertheless, due to the tightertolerance window 660, the movement does not count toward completingtheir movement protocol. Once user 636 raises their arm 622B to withinthe tolerance window 660, the movement is counted as successfullycompleting the movement.

While FIGS. 5-6 depict a tolerance window used to monitor simple armlift, it is to be appreciated that customizable tolerance windows ofvarious formats can be used across a wide variety of movements,exercises, and performance metrics. Thus, the tolerance window does notneed to necessarily relate to angular motion, but instead can be used toallow for performance tracking of a variety of different movement types.

FIGS. 7-11 depicts a series of example user interfaces that can bepresented on a computing device 728. The computing device 728 can besimilar to any of computing devices 128A-N and 228, for example.Referring first to FIG. 7 , the user interface 734 can provide anoverview of a workout that has been assigned to, delivered, or otherwiseprovided to the user of the computing device 728. Upon starting theworkout, FIG. 8 depicts the user interface 734 during a videocalibration step. During this step, the user's relative placement to thecomputing device 728 can be checked to ensure that the machine visionprocessing will properly function, for example. Example embodiments ofthese operations are depicted below with regard to FIGS. 19-40 . FIG. 9schematically illustrates a successful video calibration, as joints ofthe user are highlighted. FIG. 10 depicts the execution of an exerciseprotocol, shown as a timed Single Foot Balance protocol. As shown inFIG. 10 , through machine vision processing, the technique of the usercan be assessed to determine whether the movements of the user qualifiesfor completion of the exercise protocol. Real-time analytics can bepresented to the user on the user interface 734, such as, for example,trunk lean degree, average trunk lean degree, peak lean degree, and soforth. As it to be appreciated, the particular real-time analyticspresented to the user, if any, can depend on the particular exerciseprotocol being performed. Finally, FIG. 11 depicts a real-time videochat between the user and a practitioner. Thus, the movements of theuser can be verified simultaneously as a live video chat is beingconducted with the practitioner.

While FIGS. 7-11 depict a series of example user interfaces that can bepresented on a computing device incorporating a live video feed of theuser, other embodiments can utilize other types of user interfaces.FIGS. 12-15 depict other example interfaces that provide real-timebiomechanical visualizations to a user. In these example embodiments,instead of presenting a live video feed of the user, a simplifiedanimated graphic is used to provide real-time visual feedback to a userthat is correlated to the user's physical movements. Further, whileFIGS. 12-15 provide examples of various biomechanical visualizations, itis to be appreciated that a variety of different types of biomechanicalvisualizations can be utilized without departing from the scope of thepresent disclosure. Furthermore, the relative complexity of thebiomechanical visualizations can vary based on user. A geriatric usercan be presented with a relatively simple biomechanical visualization,while a performance athlete can be presented with a more complex andsophisticated biomechanical visualization, for example.

Referring first to FIG. 12 , an animation of an example user interface834A-C over time is shown on a computing device 828. The user interface834A-C depicts a movement tolerance graphic 856 that is correlated to aparticular movement. As is to be appreciated, the relative size andshape of the movement tolerance graphic 856 can vary based on theparticular movement being performed and the associated tolerance levelfor the user. In the example embodiment, the user interface 834A-C alsoincludes a movement reference indicator 857. While the movementtolerance graphic 857 is horizontal line toward the bottom of a downwardstroke in FIG. 12 , it is to be appreciated that the type, location, andformat of the movement reference indicator 857 can be based on theparticular movement being tracked. Also provided on the user interface834A-C is an example real-time biometric marker 854. The position andmovement of the movement tolerance graphic 854 can be based on machinevision techniques, as described above. The real-time biometric marker854 can be correlated directly to a particular joint of the user, orother body part or location on the user. In any event, as the usercompletes a particular move (shown as a squat in FIG. 12 ), the user'smovement can be translated to the user interface 834A-C by the real-timebiometric marker 854. In this embodiment, the user is maintain thereal-time biometric marker 854 within the bounds of the movementtolerance graphic 856 during the entire stroke of the movement. The userinterface 834A depicts the user at the beginning of the movement, userinterface 834B depicts the user during the movement, and user interface834C depicts the user at the bottom of the movement. In this case, thereal-time biometric marker 854 can be correlated, for example, to thehips of the user during the full body squat movement. As the user isperforming the movement, the user can watch the corresponding movementof the real-time biometric marker 854 in real-time and try to keep themarker within the border of the movement tolerance graphic 856.

In some embodiments, completion of a particular movement can result in agraphical change to the real-time biometric marker 854. For example,once the user reaches the bottom of the stroke for a particularmovement, the real-time biometric marker 854 can change colors, size,and or shape. As shown by user interface 834C, as the real-timebiometric marker 854 has crossed over the movement reference indicator857, the real-time biometric marker 854 has graphically changed toprovide visual feedback to the user. The real-time biometric marker 854can then revert to its original form upon the user returning to the topof the stroke, or at least cross back over the movement referenceindicator 857. Further, beyond the real-time biometric marker 854 andthe movement tolerance graphic 856, the user interface 834A-C can alsopresent additional information to the user, such as a repetition count,a timer, a skeletal overlay, a live video feed, and so forth.

Referring now to FIG. 13 . an animation of an example graphicalinterface 934A-C on a computing device 928 that is similar to thegraphical interface of FIG. 12 is depicted that shows the location of areal-time biometric marker 954 relative to an example movement tolerancegraphic 956. The user interface 934A depicts the user at the beginningof the movement and user interface 934B depicts the user during theattempted completion of movement. In this example, the user has failedto comply with the tolerance level for the movement during the downwardstroke. As such, the real-time biometric marker 954 is graphicallychanged to a secondary real-time biometric marker 955 to providereal-time visual feedback of the deviation to the user, as shown in userinterface 934B. The form of the secondary real-time biometric marker 955can vary, but in some embodiments, the secondary real-time biometricmarker 955 is a different color, shape, and/or opacity as the real-timebiometric marker 954. The change to the secondary real-time biometricmarker 955 can also be accompanying by an audio alert. Once the usercorrects the deviation, the original real-time biometric marker 954 canbe displayed, as shown in user interface 934C.

Furthermore, while FIGS. 12 and 13 depict the presentation of a singlereal-time biometric marker, this disclosure is not so limited, as anysuitable number of real-time biometric markers can be presented to auser for a particular movement. FIG. 14 , for example, depicts anexample user interface 1034 that is presented on a computing device 1028and has a first real-time biometric marker 1054A and a second real-timebiometric marker 1054B. In this example embodiment, the user is beinginstructed to stand on a single foot for a time period such that bothreal-time biometric marker 1054A-B remain essentially vertically alignedand inside a movement tolerance graphic 1056. As is to be appreciated,if one or both of the real-time biometric marker 1054A-B do not staywithin the movement tolerance graphic 1056, secondary real-timebiometric markers can be displayed to the user until the user correctsthe deviation.

FIG. 15 depicts yet another example user interface 1134 that can bepresented on a computing device 1128. Similar to FIG. 14 , thisinterface has a first real-time biometric marker 1154A and a secondreal-time biometric marker 1154B that are each to remain inside amovement tolerance graphic 1156 during an instructed movement. As shown,a live video chat window 1160 is also presented on user interface 1134.The live video chat window 1160 can allow the user to have real-timecommunications with a third party, such as a healthcare provider,physical therapist, physical trainer, and so forth. In some embodiments,the third party can be viewing performance metrics of the user inreal-time during the video chat, as provided to them by a fitnesstracking computing system. As such, the third party can provideinstruction or guidance, based on the user's real-time movements.

As provided above, the systems and methods described herein canbeneficially leverage a user's computing device for data collectionwithout requiring the user to install specialized hardware (such as aspecialized motion sensing/depth sensing camera system). In fact, insome embodiments, the functionality of the systems described herein canbe accessed simply through a web browser executing on a user's computingdevice. As is to be appreciated, however, a wide variety of computingdevices may be utilized by users when accessing the system. Some usersmay prefer laptop computers with either a built-in camera or use aconventional USB-based web camera peripheral device, while others mayuse tablet computers or a mobile computing device, such as a smartphone, while others may use a smart TV or gaming system. Each of thesecomputing devices may have a different screen size, different types ofcamera, and the video feed from the cameras may have different framerates or other operational parameters.

FIG. 16 schematically illustrates an example fitness tracking computingsystem 1100 responsively adapting to the operational characteristics ofa computing device 1128 of a user 1136. Similar to FIG. 1 , fitnesstracking computing system 1100 can include, for example, a processor1102, a memory 1104, an app server 1108, and a web server 1110, althoughthis disclosure is not so limited. As schematically shown, the fitnesstracking computing system 1100 can also include one or more databases1106 that store one or more body tracking models 1107A-N. It is to beappreciated that FIG. 16 is simply a schematic representation of thefitness tracking computing system 1100 and the storage of the associatedbody tracking models 1107A-N may be local, remote, or combinationsthereof. Moreover, embodiments of the fitness tracking computing system1100, and other embodiments of the fitness tracking computing systemdescribed herein, can also be implemented in cloud computingenvironments. “Cloud computing” may be defined as a model for enablingubiquitous, convenient, on-demand network access to a shared pool ofconfigurable computing resources (e.g., networks, servers, storage,applications, and services) that can be rapidly provisioned viavirtualization and released with minimal management effort or serviceprovider interaction, and then scaled accordingly. A cloud model can becomposed of various characteristics (e.g., on-demand self-service, broadnetwork access, resource pooling, rapid elasticity, measured service,etc.), service models (e.g., Software as a Service (“SaaS”), Platform asa Service (“PaaS”), Infrastructure as a Service (“IaaS”), and deploymentmodels (e.g., private cloud, community cloud, public cloud, hybridcloud, etc.).

The computing device 1128 of FIG. 16 is schematically shown to include acamera 1130, which can be, for example, a built-in web camera orconventional third party web camera that can be connected to thecomputing device 1128 via a USB connection, for example. The camera 1130in FIG. 16 is not a specialized camera that is specially configured towork with the fitness tracking computing system 1100. The computingdevice 1128 in FIG. 16 also has a display 1134. The computing device1128 is also shown to be executing a conventional web browserapplication 1137 that is navigated to a website address associated withthe fitness tracking computing system 1100 through a communicationsnetwork 1112. The display 1134 can show content 1120 via the web browser1134, as provided by the fitness tracking computing system 1100, anddescribed above. The resolution of the display 1134 can vary based onthe type and size of device. The resolution of an example smart phonecomputing device display 1134 may be 750×1334 pixels, while theresolution of an example laptop computing device display 1134 may be1920×1080 pixels.

Upon the computing device 1128 communicating with the fitness trackingcomputing system 1100, the fitness tracking computing system 1100 candetermine the operational characteristics of the computing device 1128and responsively adapt its image processing approach based on thosecharacteristics. In the example embodiment shown in FIG. 16 , thefitness tracking computing system 1100 can analyze the video data 1121received from the computing device 1128. The video data 1121 can includemetadata that provides technical data to the fitness tracking computingsystem 1100 for analysis. As shown, the metadata can indicate to thefitness tracking computing system 1100 the resolution of the display1134 and the frame rate of the camera 1130. The frame rate can be, forexample, in the rage of 15 to 60 frame per second (FPS). Notably, thevideo data 1121 can be collected when the user 1132 accesses the webpage on the web browser 1134 (and gives permission to access the camera1130, if needed) and be monitored through the user's session.

In accordance with some embodiments, when performing movement trackingand analysis, the fitness tracking computing system 1100 can utilize anyof a number of the body tracking models 1107A-N, each having a number ofadjustable parameters, for joint detection. The selection of the bodytracking model and the adjustment of one or more of the parameters canoccur in real-time by the fitness tracking computing system 1100 basedon the video data 1121. In one embodiment, the frame rate is utilized todecide which of the body tracking models 1107A-N would likely performthe best. The frame rate can also be utilized to determine adjustmentsto the settings within that selected body tracking model. Generally, thefitness tracking computing system 1100 is seeking to balance latency andaccuracy, given the operational parameters of the computing device 1128.The resolution information can be used by the fitness tracking computingsystem 1100 to determine the optimal presentation of the website content1120 based on screen size.

Video scale factor is example setting of a selected body tracking modelthat can be automatically adjusted in real-time is a video scale factor.In some embodiments, the video scale factor is adjusted to arrive at aFPS rate of greater than 20. Another example setting is buffer length.It is noted that not all of the body tracking models 1107A-N necessarilyallow for adjustment of video scale factors and/or buffer length.Nevertheless, in accordance with the systems and methods describedherein, one or more settings of the selected body tracking models1107A-N can be auto adjusted in real-time by the fitness trackingcomputing system 1100 to optimize the user experience.

FIG. 17 schematically illustrates that a number of different type ofcomputing devices 1227A-C can connect to a fitness tracking computingsystem 1200 in accordance with the present disclosure. The computingdevice 1228A is a laptop computer having a particular resolution andframe rate, the computing device 1228B is a mobile communications devicehaving a different resolution and frame rate, and the computing device1228C is a table computer having yet a different resolution and framerate. Each of the computing devices 1228A-N can connect to the fitnesstracking computing system 1200 through a communications network 1212.The fitness tracking computing system 1200 can utilize any of pluralityof different body tracking models 1207, based on the operationalparameters of the computing devices 1228A-N. For the purposes ofillustration, a body tracking model A 1207A is being used to track themovements of a user associated with the computing device 1228A. Basedthe operational parameters of the computing device 1228A, the fitnesstracking computing system 1200 has adjusted setting A of the bodytracking model accordingly. A body tracking model B 1207B is being usedto track the movements of a user associated with the computing device1228B. Based the operational parameters of the computing device 1228B,the fitness tracking computing system 1200 has adjusted setting B of thebody tracking model accordingly. The body tracking model A 1207A is alsobeing used to track the movements of a user associated with thecomputing device 1228C. Based the operational parameters of thecomputing device 1228C, however, the fitness tracking computing system1200 has adjusted setting B of the body tracking model.

Referring now to FIG. 18 , a fitness tracking computing system 1300generating a movement profile of a user 1336 over time (i.e., Week 1 toWeek N) is schematically depicted. For the sake of illustration, themovement profile is based on a lateral arm raise. As is to be readilyappreciated however, a wide variety of movement profiles with varyinglevels of complexity can be generated in accordance with the presentlydisclosed systems and methods. In the illustrated example, the user 1336is instructed through a display 1334 of their computing device 1328 tolift their arm 1322 in the direction indicated by arrow 1320 to detectrange of motion. The motion of their arm 1332 is captured by a camera1330 of their computing device 1328 and tracked by the fitness trackingcomputing system 1300. The timestamped range of motion 1361 can bestored by the fitness tracking computing system 1300 in a movementprofile 1355 associated with that user 1332. As shown in the exampleillustration, the range of motion 1361 of the user 1336 improves overtime, with the improvement being detected by the fitness trackingcomputing system 1300.

Along with the range of motion 1361, the fitness tracking computingsystem 1300 can track the demographics of the user 1336, a rate ofimprovement, among a wide array of other metrics and data. Additionally,a comparison engine 1358 of the fitness tracking computing system 1300can compare the range of motion 1361 to global normative data 1357 thatwas collected over time from a plurality of users 1337. Such comparisoncan be used to determine if, for example, the rate of recovery for theuser 1336 subsequent to a surgery is above or below a standard recoveryprogression. Thus, if user 1336 is a 55 year old female that recentlyhad shoulder surgery, the progression of her range of motion 1361 can becompared to other 55 year old females that previously had the samesurgery. Moreover, using insights from the global normative data, a widevariety of other determinations can be generated. For example, rates ofprogression can be cross-linked to the type of exercises performed, thetime of the exercises where performed, the duration of each exercisesession, and so forth, based on learnings from the global normative data1357 aggregated by the fitness tracking computing system 1300.

As various systems and methods in accordance with the present disclosurecan leverage an existing camera associated with a user's computingdevice, ensuring that the user is properly oriented relative to thecamera can be essential for proper body movement tracking andquantification. Furthermore, the particular orientation of the userrelative to the camera can vary based on the customized exerciseprotocol for that particular user. By way of example, a first exercisemay require the user to squarely face the camera, a second exercise mayrequire the user to face to their body to the right, a third exercisemay require the user to sit in a chair facing to the left, and so forth.In accordance with the present disclosure, based on the customizedexercise protocol for the user, a fitness tracking computing system canprovide real-time instructions to the user via their computing deviceand measure and detect compliance with the instructions to ensure theuser is properly positioned relative to the camera. Such approach canhelp to ensure the body tracking models and other machine visiontechniques utilized by the fitness tracking computing system canproperly monitor and quantify the user's movements while performingvarious exercises.

In accordance with various embodiments, when a user first engages withthe fitness tracking computing system via their user device, the usermay be instructed to step back away from the camera such that theirwhole body can be seen by the camera and they have adequate space toperform the exercise. Once their whole body is in view, specificorientation instructions can be provided to instruct the user to face aparticular direction and the user's direction can be detected by thefitness tracking computing system in real-time to confirm compliance.Use body position can also be instructed (such as standing, seated,laying, and so forth) and the user's position can be detected by thefitness tracking computing system in real-time to confirm compliance.Once the user's position has been verified, the user can receiveinstruction regarding the exercise to be completed. While the user ismoving in accordance with the instructions, the fitness trackingcomputing system can track and measure joints, for example, of the userand after one or more certain joints crosses a predetermined range ofmotion a repetition counter can be updated.

FIGS. 19-40 depict an example interface 1434 of an example usercomputing device 1428 during an example exercise session. The usercomputing device 1428 includes an on-board camera 1430, which can be,for example, a conventional front-facing camera, although thisdisclosure is not so limited. A real-time image of the user 1452, ascollected by the camera 1430, can be presented on the interface 1434.

Referring first to FIG. 19 , at the initiation of an exercise sessionthe user can receive instructions to properly position themselves withinthe field of view of the camera 1430. While FIG. 19 depicts the use ofon-screen messaging, it is to be appreciated that instructions can beprovided in any suitable format, such as auditory-based instructions.FIG. 20 depicts an example distance status bar that updates in real timeas the user positions themselves further away from the camera 1430. Onceit is determined that the user is at an appropriate distance from thecamera 1430, an indication of successful positioning can be provided tothe user, an example of which is presented in FIG. 21 . Again, whileFIG. 21 visually indicates successful positioning, other embodiments canadditionally or alternatively use different types of indicators.

Once the user is properly positioned, the user can be given instructionsbased on their personalized exercise protocol. For example, the user canbe instructed to face a certain direction, sit down, lay down, use anaccessory (such as a chair, a broomstick, or a wall, for example), andso forth. Referring to FIG. 22 , based on the first exercise to beperformed by the user in the illustrated example, the user is instructedto turn to their left. The user's movement can be tracked in real-timeto measure compliance with the instruction. FIG. 23 illustrates that ifthe user turns the wrong direction, or otherwise does not comply withthe instructions, the system will not progress to the next step.

FIG. 24 illustrates the interface when it has been detected that theuser complied with the instructions. The user can then be prompted toperform a specific type of exercise (or movement) based on theirexercise protocol. Referring to FIG. 25 , an instruction panel 1456 ispresented during the exercise. While a single instruction panel 1456 isshown in FIG. 25 , it is to be appreciated that other embodiments canconvey information to the user using different approaches, such asmultiple panels, overlays (opaque or semi-transparent), scrollingtickers, and so forth. In the illustrated example, the instruction panel1456 includes a range of motion graphic that updates in real-time, arepetition counter, additional real-time positional information (i.e.degree of range of motion), as well as an animation of the exercise tobe performed.

FIG. 26 illustrates the interface 1434 mid-way through the exercise. Asshown, the real-time range of motion graphic of FIG. 26 , depicted as ahorse shoe graphic, graphically conveys the user is completing a kneebend. The degree of range of motion percent indicates the user is at 64degrees. In this embodiment, the degree of range of motion for thisparticular user for this particular exercise is set to 70 degrees. For adifferent user, the degree of range of motion can be set to a differentvalue. In any event, upon successful completion of one repetition, therepetition can be counted, as shown in FIG. 27 where the repetitioncounter has decreased from “03” or “02”. As is to be appreciated, whilethis use is instructed to complete 3 repetitions, other exerciseprotocols designed or otherwise provided to other user can instruct adifferent number of repetitions.

Upon detecting that the user has completed the sufficient number ofrepetitions, the user can automatically be presented with the nextexercise in their exercise protocol. FIG. 28 depicts an example exercisesummary that can be provided to the user between exercises. As shown inFIG. 28 , a graphic (or animation) of the exercise as well as additionalinformation can be provided, such as the number of repetitions, thenumbers of sets, any accessories that may be needed, and so forth. FIG.29 shows another example instruction being provided to the user and theuser's compliance with the instruction being measured, and an indicationof successful compliance provided in FIG. 30 .

FIG. 31 depicts another example use of the instruction panel 1456, whichagain includes a range of motion graphic that updates in real-time, arepetition counter, additional real-time positional information (i.e.degree of range of motion), as well as an animation of the exercise tobe performed.

Upon detecting that the user has completed the sufficient number ofrepetitions, the user can automatically be presented with the nextexercise in their exercise protocol. FIG. 32 depicts an example exercisesummary that can be provided to the user between exercises. As shown inFIG. 32 , a graphic (or animation) of the exercise as well as additionalinformation can be provided, such as the number of repetitions, thenumbers of sets, and so forth.

FIG. 33 shows another example instruction being provided to the user andthe user's compliance with the instruction being measured, and anindication of successful compliance provided in FIG. 34 . FIG. 35depicts another example use of the instruction panel 1456, which againincludes a range of motion graphic that updates in real-time, arepetition counter, additional real-time positional information (i.e.degree of range of motion), as well as an animation of the exercise tobe performed. As shown in FIG. 35 , this particular exercise istime-based, so once it is detected the user has begun the exercise, thetimer can automatically activate.

Upon detecting that the user has completed the exercise, the user canautomatically be presented with the next exercise in their exerciseprotocol. FIG. 36 depicts an example exercise summary that can beprovided to the user between exercises. As shown in FIG. 36 , a graphic(or animation) of the exercise as well as additional information can beprovided, such as the number of repetitions, any needed accessories, thenumbers of sets, and so forth.

FIG. 37 shows another example instruction being provided to the user andthe user's compliance with the instruction being measured. Thisinstruction is a two part instructions so compliance with bothinstructions can be measured. FIG. 38 depicts the user complying withthe first instruction and then receiving an additional instruction, withcompliance being required before advancement to the exercise. FIG. 39depicts another example use of the instruction panel 1456, which againincludes a range of motion graphic that updates in real-time, arepetition counter, additional real-time positional information (i.e.degree of range of motion), as well as an animation of the exercise tobe performed.

Upon successful completion of the exercise protocol, a completed sessionsummary can be provided to the user, as shown in FIG. 40 . Notably,detailed information regarding the session can also be provided to thecloud-based fitness tracking computing system, such as range of motioninformation, duration information, as well as a wide variety of otherinformation. Such information can be linked to the user's profile, aswell used by the fitness tracking computing system for macro level dataanalysis and processing (i.e., based on the user's demographic, exerciseprotocol, and so forth).

It is to be understood that the figures and descriptions of the presentinvention have been simplified to illustrate elements that are relevantfor a clear understanding of the present invention, while eliminating,for purposes of clarity, other elements. Those of ordinary skill in theart will recognize, however, that these sorts of focused discussionswould not facilitate a better understanding of the present invention,and therefore, a more detailed description of such elements is notprovided herein.

Any element expressed herein as a means for performing a specifiedfunction is intended to encompass any way of performing that functionincluding, for example, a combination of elements that performs thatfunction. Furthermore the invention, as may be defined by suchmeans-plus-function claims, resides in the fact that the functionalitiesprovided by the various recited means are combined and brought togetherin a manner as defined by the appended claims. Therefore, any means thatcan provide such functionalities may be considered equivalents to themeans shown herein. Moreover, the processes associated with the presentembodiments may be executed by programmable equipment, such ascomputers. Software or other sets of instructions that may be employedto cause programmable equipment to execute the processes may be storedin any storage device, such as, for example, a computer system(non-volatile) memory, an optical disk, magnetic tape, or magnetic disk.Furthermore, some of the processes may be programmed when the computersystem is manufactured or via a computer-readable memory medium.

It can also be appreciated that certain process aspects described hereinmay be performed using instructions stored on a computer-readable memorymedium or media that direct a computer or computer system to performprocess steps. A computer-readable medium may include, for example,memory devices such as diskettes, compact discs of both read-only andread/write varieties, optical disk drives, and hard disk drives. Anon-transitory computer-readable medium may also include memory storagethat may be physical, virtual, permanent, temporary, semi-permanentand/or semi-temporary.

These and other embodiments of the systems and methods can be used aswould be recognized by those skilled in the art. The above descriptionsof various systems and methods are intended to illustrate specificexamples and describe certain ways of making and using the systemsdisclosed and described here. These descriptions are neither intended tobe nor should be taken as an exhaustive list of the possible ways inwhich these systems can be made and used. A number of modifications,including substitutions of systems between or among examples andvariations among combinations can be made. Those modifications andvariations should be apparent to those of ordinary skill in this areaafter having read this disclosure.

What is claimed is:
 1. A fitness tracking computing system comprisinginstructions stored in a memory, which when executed by one or moreprocessors of the fitness tracking computing system, cause the fitnesstracking computing system to: receive video data from a computing devicevia a communications network, wherein the computing device is operatedby the user, wherein the computing device comprises a display and acamera, wherein the video data comprises metadata and images of the usercollected the camera, and wherein the metadata comprises performancedata of the camera and a screen resolution of the display; based on themetadata, adjust a setting of a body tracking model; cause apersonalized movement instruction to be displayed on the display of thecomputing device; subsequent to adjusting the setting of the bodytracking model, analyze the video data using the body tracking model totrack real-time movements of the user to determine compliance with thepersonalized movement instruction; and cause visual feedback to bedisplayed on the display of the computing device.
 2. The fitnesstracking computing system of claim 1, wherein the instructions stored ina memory further cause the fitness tracking computing system to: receivea personalized exercise protocol associated with a user; and store thepersonalized exercise protocol in a data store.
 3. The fitness trackingcomputing system of claim 1, wherein the personalized exercise protocolcomprises an exercise protocol selected from a protocol library by apractitioner.
 4. The fitness tracking computing system of claim 1,wherein the instructions stored in a memory further cause the fitnesstracking computing system to: generate reporting data for the user,wherein the reporting data comprises demographic data of the user andcompliance data of the user.
 5. The fitness tracking computing system ofclaim 1, wherein the camera is a built-in component of the computingdevice installed into the computing devices at time of manufacture. 6.The fitness tracking computing system of claim 1, wherein the visualfeedback provides real-time range of motion feedback.
 7. The fitnesstracking computing system of claim 6, wherein the visual feedbackprovides a repetition counter.
 8. The fitness tracking computing systemof claim 7, wherein the instructions stored in a memory further causethe fitness tracking computing system to: advance the repetition counteronly when real-time movements of the user comply with the personalizedmovement instruction.
 9. The fitness tracking computing system of claim8, wherein determining compliance with the personalized movementinstruction is based on a tolerance window.
 10. The fitness trackingcomputing system of claim 1, wherein the visual feedback comprises amovement tolerance graphic correlated to the personalized exerciseprotocol, a movement reference indicator, and a real-time biometricmarker graphical indicator.
 11. The fitness tracking computing system ofclaim 10, wherein the instructions stored in a memory further cause thefitness tracking computing system to: move the real-time biometricmarker graphical indicator on the display relative to the movementtolerance graphic based on the real-time movements of the user.
 12. Thefitness tracking computing system of claim 11, wherein the instructionsstored in a memory further cause the fitness tracking computing systemto: modify the visual appearance of the real-time biometric markergraphical indicator when the real-time biometric marker graphicalindicator crosses the movement reference indicator.
 13. The fitnesstracking computing system of claim 1, wherein the setting is one or moreof a video scale factor and a buffer length.
 14. A fitness trackingcomputing system comprising instructions stored in a memory, which whenexecuted by one or more processors of the fitness tracking computingsystem, cause the fitness tracking computing system to: receive videodata from a computing device via a web-based communications, wherein thecomputing device is executing a web browsing application, wherein thecomputing device comprises a display and a camera, and wherein the videodata comprises metadata and images of a user of the computing devicecollected the camera; based on the metadata, determine performance dataof the camera and a screen resolution of the display; based on at leastone of the performance data of the camera and the screen resolution ofthe display, adjust a setting of a body tracking model; cause apersonalized movement instruction to be displayed on the display of thecomputing device; subsequent to adjusting the setting of the bodytracking model, analyze the video data using the body tracking model totrack real-time movements of the user; cause visual feedback to bedisplayed on the display of the computing device; cause a repetitioncounter to be displayed on the display; and advance the repetitioncounter only when real-time movements of the user are determined tocomply with the personalized movement instruction.
 15. The fitnesstracking computing system of claim 14, wherein the camera is any of abuilt-in component of the computing device and a web camera connected tothe computing device via a USB connection.
 16. The fitness trackingcomputing system of claim 15, wherein the visual feedback providesreal-time range of motion feedback.
 17. The fitness tracking computingsystem of claim 16, wherein determining compliance with the personalizedmovement instruction is based on a tolerance window.
 18. The fitnesstracking computing system of claim 14, wherein the visual feedbackcomprises a movement tolerance graphic correlated to a movementreference indicator, and a real-time biometric marker graphicalindicator.
 19. A fitness tracking computing system comprisinginstructions stored in a memory, which when executed by one or moreprocessors of the fitness tracking computing system, cause the fitnesstracking computing system to: receive video data from a computing devicevia a communications network, wherein the computing device is operatedby the user, wherein the computing device comprises a display and acamera, and wherein the video data comprises images of the usercollected the camera; determine an operational parameter of thecomputing device; based on the operational parameter of the computingdevice, adjust a setting of a body tracking model; cause a personalizedmovement instruction to be displayed on the display of the computingdevice; subsequent to adjusting the setting of the body tracking model,analyze the video data using the body tracking model to track real-timemovements of the user to determine compliance with the personalizedmovement instruction; and cause visual feedback to be displayed on thedisplay of the computing device, wherein the visual feedback providesreal-time range of motion feedback.
 20. The fitness tracking computingsystem of claim 19, wherein the visual feedback provides a repetitioncounter, and wherein the instructions stored in a memory further causethe fitness tracking computing system to: advance the repetition counteronly when real-time movements of the user comply with the personalizedmovement instruction.